package com.jic.market.service.rest.discountamount;

import com.jic.common.base.vo.AdminOperate;
import com.jic.market.enums.DiscountAmountServiceOperateEnum;
import com.jic.market.enums.FrontPromotionTypeEnum;
import com.jic.market.impl.rest.discountamount.model.DiscountAmountModel;
import com.jic.market.impl.rest.discountamount.model.DiscountOrderModel;
import com.jic.market.impl.rest.discountamount.po.GoodsPo;
import com.jic.market.response.rest.discountamount.GiftDetail;

import java.util.List;
import java.util.Map;

/**
 * @author yinhaijun
 * @date: 2020/4/10
 */
public interface DiscountAmountModelService {

    List<DiscountAmountModel> build(Map<Long, GoodsPo> goodsPoMap, List<String> couponCodeList, Map<String, List<GiftDetail>> giftMap, String grouponPromotionCode, FrontPromotionTypeEnum frontPromotionTypeEnum);

    DiscountOrderModel build(String orderNo, List<String> thirdProductCodeList);

    void check(String orderNo, DiscountAmountServiceOperateEnum discountAmountServiceOperate);
    void save(DiscountOrderModel discountOrderModel, AdminOperate adminOperate);

    Integer countNum(String promotionId, Long skuId, String thirdUserId);

    Integer countNum(String promotionId, Long skuId);

}
